--- svn/src/wordEncoder.cpp     (revision 603)
+++ svn/src/wordEncoder.cpp     (working copy)
@@ -239,6 +239,13 @@
 	if (buffer.find_first_of("\n\r") != string::npos)
 		return true;
 
+	// If the string contains a QP string, we need to encode this.
+	// Not a 100% check, but we'd only get more encoded strings.
+	std::string::size_type pos = buffer.find("=?");
+	std::string::size_type end = buffer.find("?=");
+	if (pos != string::npos && end != string::npos && end > pos)
+		return true;
+
 	return false;
 }
 
